﻿Imports System.Text
Imports System.Data.OleDb
Imports System.Reflection
Imports System.Windows.Forms.VisualStyles


Public Class ucGridLaudos

    Public ehMaconha As Boolean = Nothing
    Public ehCocaina As Boolean = Nothing
    Public ehEcstasy As Boolean = Nothing
    Public ehCrack As Boolean = Nothing
    Dim registro As New registroBO
    Private registros As New registroBO

    Sub New()
        InitializeComponent()
    End Sub

    Public Property getTotalRegistros As Integer
        Get
            Return gridExibeLaudos.RowCount
        End Get
        Set(value As Integer)

        End Set
    End Property
    Private Sub ucgridExibeLaudos_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not DesignMode Then

            gridExibeLaudos.AutoGenerateColumns = False
            populaGrid(String.Empty)
        End If
    End Sub

    Public Sub populaGrid(ByVal busca As String)
        Try
            With gridExibeLaudos

                If Not IsNothing(.DataSource) Then
                    .DataSource.clear()
                End If

                .AutoGenerateColumns = False
                .ScrollBars = System.Windows.Forms.ScrollBars.Both
                '-----------------------------------------------
                ' POPULANDO AS LINHAS DO GRIDVIEW
                '------------------------------------------------
                gridExibeLaudos.DataSource = registro.getRegistros(busca)

                '--------------------------------------------------
                ' SETA AS VARIÁVEIS DE CONTROLE DA PAGINAÇÃO
                '--------------------------------------------------
                'FillGrid()
            End With
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

    Private Sub gridExibeLaudos_CellContentClick1(sender As Object, e As DataGridViewCellEventArgs) Handles gridExibeLaudos.CellContentClick

        Try

            Dim configuracaoVO As New configuracoesVO
            Dim configuracaoBO As New configuracoesBO
            Dim total As Integer = 0

        If (e.ColumnIndex = gridExibeLaudos.Columns("NUM_REGISTRO").Index And e.RowIndex >= 0) Then
            Dim NUM_REGISTRO As Integer = gridExibeLaudos.Rows(e.RowIndex).Cells("NUM_REGISTRO").Value()
            Dim ano As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("DATA_REGISTRO").Value, DateTime).Year
            Dim usuario As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_USUARIO").Value, Integer)
            Dim form As New frmExibeRegistro
            form.NUM_REGISTRO = NUM_REGISTRO
            form.ANO = ano
            form.Show()

        ElseIf (e.ColumnIndex = gridExibeLaudos.Columns("LAUDO_AUTOMATICO").Index And e.RowIndex >= 0) Then

            Dim NUM_REGISTRO As Integer = gridExibeLaudos.Rows(e.RowIndex).Cells("NUM_REGISTRO").Value()
            Dim ano As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("DATA_REGISTRO").Value, DateTime).Year
            Dim usuario As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_USUARIO").Value, Integer)
                Dim ID_NATUREZA As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_NATUREZA").Value, Integer)
                Dim ID_TIPO_PERICIA As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_TIPO_PERICIA").Value, Integer)
                Dim ID_REGISTRO As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_REGISTRO").Value, Integer)
                Dim GEROULAUDO As Boolean = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("GEROULAUDO").Value, Boolean)
      

            If Not GEROULAUDO Then
                    Select Case ID_NATUREZA


                       

                        Case 12, 13
                            'Dim form As New frmCNH
                            'form.ucPreambulo.CARREGADADOS = False
                            'form.ucPreambulo.ehNovo = False
                            ''form.EHCNHFALSA = False
                            'form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            'form.ucPreambulo.getAno = ano
                            'form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            'form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            'form.MdiParent = Me.ParentForm.MdiParent
                            'form.Show()
                            'form.chamaEventoBuscaLaudo(sender, e)

                            Dim form As New frmEscolheTipoDocumento
                            form.EHNOVO = False
                            form.NUM_REGISTRO = NUM_REGISTRO
                            form.ANO = ano
                            form.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()

                        Case 35
                            Dim form As New frmDeterminacaoCalibre
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)


                        Case 36
                            Dim form As New frmEficiencia
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.EHARMA = True
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                        Case 44
                            Dim form As New frmCelular
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)



                        Case 52
                            Dim form As New frmAvaliacao
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)


                        Case 55
                            Dim form As New frmGeral
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.EHARMABRANCA = True
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                        Case 65
                            Dim form As New frmVeiculo
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                        Case 68

                            Dim form As New frmEscolhaTipoDroga
                            form.EHPRELIMINAR = True
                            form.ehMaconha = False
                            form.ehCocaina = True
                            form.ehEcstasy = False
                            form.ehCrack = False
                            form.CARREGADADOS = False
                            form.EHNOVO = False
                            form.NUM_REGISTRO = NUM_REGISTRO
                            form.ANO = ano
                            form.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ID_NATUREZA = ID_NATUREZA
                            form.habilitaBotao = True
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()

                            ' VAI ENTRAR O CÓDIGO ABAIXO NA NOVA VERSÃO DO PROGRAMA

                            'Case 68
                            '    Dim form As New frmConstatacaoPreliminar
                            '    form.ucPreambulo.CARREGADADOS = False
                            '    form.ucPreambulo.ehNovo = False
                            '    form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            '    form.ucPreambulo.getAno = ano
                            '    form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            '    form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            '    form.MdiParent = Me.ParentForm.MdiParent
                            '    form.Show()
                            '    form.chamaEventoBuscaLaudo(sender, e)

                        Case 73

                            Dim form As New frmEscolhaTipoDroga
                            form.EHPRELIMINAR = False
                            form.ehMaconha = False
                            form.ehCocaina = True
                            form.ehEcstasy = False
                            form.ehCrack = False
                            form.CARREGADADOS = False
                            form.EHNOVO = False
                            form.NUM_REGISTRO = NUM_REGISTRO
                            form.ANO = ano
                            form.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ID_NATUREZA = ID_NATUREZA
                            form.habilitaBotao = False
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()

                        Case 81
                            Dim form As New frmEficienciaMunicao
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                        Case 88
                            Dim form As New frmAvaliacao
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                            '-------------------------------------------------
                            ' VISTORIA REFERENTE A VISTORIA VEICULO PATRIMONIO
                            '-------------------------------------------------
                        Case 90
                            Dim form As New frmVeiculo
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                        Case Else
                            '-------------------------------------------------------------------------
                            ' APENAS CRIA O CABECALHO DA APLICAÇÃO
                            '---------------------------------------------------------------------------
                            Dim form As New frmGeral
                            form.ucPreambulo.CARREGADADOS = False
                            form.ucPreambulo.ehNovo = False
                            form.EHARMABRANCA = False
                            form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            form.ucPreambulo.getAno = ano
                            form.ucPreambulo.ID_TIPO_PERICIA = ID_TIPO_PERICIA
                            form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            form.MdiParent = Me.ParentForm.MdiParent
                            form.Show()
                            form.chamaEventoBuscaLaudo(sender, e)

                            ' MsgBox("Natureza da perícia não contemplada pela versão automatizada de laudos.")
                            'Dim form As New frmGeral
                            'form.ucPreambulo.CARREGADADOS = False
                            'form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
                            'form.ucPreambulo.getAno = ano
                            'form.ucPreambulo.getIdTipoPericia = ID_TIPO_PERICIA
                            'form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
                            'form.MdiParent = Me.ParentForm.MdiParent
                            'form.Show()
                            'form.chamaEventoBuscaLaudo(sender, e)

                    End Select

            Else

                If MsgBox("O laudo n° " & NUM_REGISTRO & " já possui um arquivo WORD gerado. Deseja consultar apenas os dados do laudo gerado ?", MsgBoxStyle.YesNo) = vbYes Then

                    Dim form As New frmExibeRegistro
                    form.NUM_REGISTRO = NUM_REGISTRO
                    form.ANO = ano
                    form.Show()
                End If
            End If

        End If

        Catch ex As Exception
            Throw ex
        End Try

    End Sub

    Private Sub gridExibeLaudos_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles gridExibeLaudos.CellContentDoubleClick

        'If (e.RowIndex >= 0) Then

        '    Dim NUM_REGISTRO As Integer = gridExibeLaudos.Rows(e.RowIndex).Cells("NUM_REGISTRO").Value()
        '    Dim ano As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("DATA_REGISTRO").Value, DateTime).Year
        '    Dim usuario As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_USUARIO").Value, Integer)
        '    Dim ID_NATUREZA As Integer = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("ID_NATUREZA").Value, Integer)
        '    Dim GEROULAUDO As Boolean = CType(gridExibeLaudos.Rows(e.RowIndex).Cells("GEROULAUDO").Value, Boolean)

        '    If Not GEROULAUDO Then
        '        Select Case ID_NATUREZA

        '            Case 52
        '                Dim form As New frmAvaliacao
        '                form.ucPreambulo.CARREGADADOS = False
        '                form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
        '                form.ucPreambulo.getAno = ano
        '                form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
        '                form.MdiParent = Me.ParentForm.MdiParent
        '                form.Show()
        '                form.chamaEventoBuscaLaudo(sender, e)

        '            Case 88
        '                Dim form As New frmAvaliacao
        '                form.ucPreambulo.CARREGADADOS = False
        '                form.ucPreambulo.txtLaudo.Text = NUM_REGISTRO
        '                form.ucPreambulo.getAno = ano
        '                form.ucPreambulo.ID_NATUREZA = ID_NATUREZA
        '                form.MdiParent = Me.ParentForm.MdiParent
        '                form.Show()
        '                form.chamaEventoBuscaLaudo(sender, e)

        '        End Select


        '    Else

        '        If MsgBox("O laudo n° " & NUM_REGISTRO & " já foi registrado em nosso sistema e não há como ser gerado o laudo de forma automática. Deseja visualizar os dados do laudo ?", vbYesNo) = vbYes Then

        '            Dim form As New frmExibeRegistro
        '            form.NUM_REGISTRO = NUM_REGISTRO
        '            form.ANO = ano
        '            form.Show()
        '        End If
        '    End If

        'End If
    End Sub
End Class